package by.apiskun.curex.services;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import by.apiskun.curex.datamodel.Wallet;

public interface WalletService {

	Wallet get(Long id);

	Long getCount();

	List<Wallet> getAllWallets();

	List<Wallet> getAllWalletsByMoneyName(String name);

	List<Wallet> getAllWalletsByUserLogin(String login);

	List<Wallet> getAllWalletsByAmount(Double amount);

	List<Wallet> getAllWalletsByAmountRange(Double minAmount, Double maxAmount);

	@Transactional
	void updateWalletAmount(Long id, Double newAmount);

	@Transactional
	void saveOrUpdate(Wallet wallet);

	@Transactional
	void delete(Wallet wallet);

	@Transactional
	void deleteAll();
}
